package com.entity;

import com.mybatisflex.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 商品信息表 实体类。
 *
 * @author admin
 * @since 2025-06-09
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("products")
public class Products implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 商品唯一标识，自增主键
     */
    @Id(keyType = KeyType.Auto)
    private Integer id;

    /**
     * 商品名称，用于显示商品的名称
     */
    private String productName;

    /**
     * 商品分类，可选值为 food（食品）或 drink（饮品）
     */
    private Integer typeId;

    /**
     * 商品价格，精确到小数点后两位
     */
    private BigDecimal price;

    /**
     * 商品图片地址，存储商品图片的 URL
     */
    private String imageUrl;
    @Column(ignore = true)
    private Integer quantity;

    @RelationManyToOne(selfField = "typeId",targetField = "id")
    private Type type;
}
